package com.css.common.core.pojo.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/*
 *获取二维码请求VO
 */
@Data
public class GetQrcodeReqVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("消息ID")
    @JsonProperty(value = "msgId")
    private String msgId;

    @ApiModelProperty("报文请求时间")
    @JsonProperty(value = "requestTimestamp")
    private String requestTimestamp;

    @ApiModelProperty("请求系统预留字段")
    @JsonProperty(value = "srcReserve")
    private String srcReserve;

    @ApiModelProperty("商户号")
    @JsonProperty(value = "mid")
    private String mid;

    @ApiModelProperty("终端号")
    @JsonProperty(value = "tid")
    private String tid;

    @ApiModelProperty("业务类型")
    @JsonProperty(value = "instMid")
    private String instMid;

    @ApiModelProperty("账单号")
    @JsonProperty(value = "billNo")
    private String billNo;

    @ApiModelProperty("账单日期")
    @JsonProperty(value = "billDate")
    private String billDate;

    @ApiModelProperty("账单描述")
    @JsonProperty(value = "billDesc")
    private String billDesc;

    @ApiModelProperty("支付总金额")
    @JsonProperty(value = "totalAmount")
    private Integer totalAmount;

    @ApiModelProperty("分账标记")
    @JsonProperty(value = "divisionFlag")
    private Boolean divisionFlag;

    @ApiModelProperty("平台商户分账金额")
    @JsonProperty(value = "platformAmount")
    private Integer platformAmount;

    @ApiModelProperty("商品信息")
    @JsonProperty(value = "goods")
    private List<GoodsItemVO> goods;

    @ApiModelProperty("子商户信息")
    @JsonProperty(value = "subOrders")
    private List<SubOrderVO> subOrders;

    @ApiModelProperty("会员号")
    @JsonProperty(value = "memberId")
    private String memberId;

    @ApiModelProperty("桌号、柜台号、房间号")
    @JsonProperty(value = "counterNo")
    private String counterNo;

    @ApiModelProperty("账单过期时间")
    @JsonProperty(value = "expireTime")
    private String expireTime;

    @ApiModelProperty("支付结果通知地址")
    @JsonProperty(value = "notifyUrl")
    private String notifyUrl;

    @ApiModelProperty("网页跳转地址")
    @JsonProperty(value = "returnUrl")
    private String returnUrl;

    @ApiModelProperty("二维码ID")
    @JsonProperty(value = "qrCodeId")
    private String qrCodeId;

    @ApiModelProperty("系统ID")
    @JsonProperty(value = "systemId")
    private String systemId;

    @ApiModelProperty("担保交易标识")
    @JsonProperty(value = "secureTransaction")
    private String secureTransaction;

    @ApiModelProperty("钱包选项")
    @JsonProperty(value = "walletOption")
    private String walletOption;

    @ApiModelProperty("实名认证姓名")
    @JsonProperty(value = "name")
    private String name;

    @ApiModelProperty("实名认证手机号")
    @JsonProperty(value = "mobile")
    private String mobile;

    @ApiModelProperty("实名认证证件类型")
    @JsonProperty(value = "certType")
    private String certType;

    @ApiModelProperty("实名认证证件号")
    @JsonProperty(value = "certNo")
    private String certNo;

    @ApiModelProperty("是否需要实名认证")
    @JsonProperty(value = "fixBuyer")
    private String fixBuyer;

    @ApiModelProperty("是否需要限制信用卡支付")
    @JsonProperty(value = "limitCreditCard")
    private String limitCreditCard;

    @ApiModelProperty("支付要素查询地址")
    @JsonProperty(value = "payInfoQueryAddr")
    private String payInfoQueryAddr;

    @ApiModelProperty("预授权交易标识")
    @JsonProperty(value = "preauthTransaction")
    private String preauthTransaction;

    @ApiModelProperty("花呗分期数")
    @JsonProperty(value = "installmentNumber")
    private Integer installmentNumber;

    @ApiModelProperty("返佣字段")
    @JsonProperty(value = "retCommParams")
    private RetCommParamVO retCommParams;

    @ApiModelProperty("是否开启第三方分期交易贴息")
    @JsonProperty(value = "thirdPartyInstalSubsFlag")
    private Boolean thirdPartyInstalSubsFlag;

    @ApiModelProperty("异步分账标记")
    @JsonProperty(value = "asynDivisionFlag")
    private Boolean asynDivisionFlag;

    @ApiModelProperty("商户附加数据")
    @JsonProperty(value = "attachedData")
    private String attachedData;

    @ApiModelProperty("客户端IP 用户客户端的ip地址")
    @JsonProperty(value = "clientIp")
    private String clientIp;

    @ApiModelProperty("是否强制输入附言")
    @JsonProperty(value = "isEfrcPs")
    private Boolean isEfrcPs;

    @ApiModelProperty("附言提示语")
    @JsonProperty(value = "psPpt")
    private String psPpt;

    @ApiModelProperty("扩展信息")
    @JsonProperty(value = "extra")
    private ExtraVO extra;

    @ApiModelProperty("开票即支付标识")
    @JsonProperty(value = "kpjzfBs")
    private String kpjzfBs;
}
